package com.partvoyage.server.dao;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Id;

import com.partvoyage.shared.InfoPointBean;

public class DataInfoPointEntity implements Serializable {
	private static final long serialVersionUID = 7390103290165670010L;

	@Id
	private Long id;
	private Double latitude;
	private Double longitude;
	private String comment;
	private String commentaire;
	private String cout;
	private String avecQui;
	private String ou;
	private String codePays;
	private Long projetId;
	private Date quand;
	private Integer zoomLevel;
	private Long markerIdDestination;

	public DataInfoPointEntity() {
	}

	public DataInfoPointEntity(Long id, Double latitude, Double longitude,
			String comment, String commentaire, String cout, String avecQui,
			String ou, String codePays, Long projetId, Date quand,
			Integer zoomLevel, Long markerIdDesination) {
		super();
		this.id = id;
		this.latitude = latitude;
		this.longitude = longitude;
		this.comment = comment;
		this.commentaire = commentaire;
		this.cout = cout;
		this.avecQui = avecQui;
		this.ou = ou;
		this.codePays = codePays;
		this.projetId = projetId;
		this.quand = quand;
		this.zoomLevel = zoomLevel;
		this.markerIdDestination = markerIdDestination;
	}

	/**
	 * recopie les données mais pas l'id
	 * 
	 * @param infoPointBean
	 */
	public void synchronizeDonnee(InfoPointBean infoPointBean) {
		this.latitude = infoPointBean.getLatitude();
		this.longitude = infoPointBean.getLongitude();
		this.comment = infoPointBean.getComment();
		this.commentaire = infoPointBean.getCommentaire();
		this.cout = infoPointBean.getCout();
		this.avecQui = infoPointBean.getAvecQui();
		this.projetId = infoPointBean.getProjetId();
		this.quand = infoPointBean.getQuand();
		this.ou = infoPointBean.getOu();
		this.zoomLevel = infoPointBean.getZoomLevel();
		this.codePays = infoPointBean.getCodePays();
		this.markerIdDestination = infoPointBean.getMarkerIdDestination();
	}

	public Integer getZoomLevel() {
		return zoomLevel;
	}

	public void setZoomLevel(Integer zoomLevel) {
		this.zoomLevel = zoomLevel;
	}

	// public Key getKey() {
	// return key;
	// }
	//
	// public void setKey(Key key) {
	// this.key = key;
	// }

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	// public Key getKey() {
	// return key;
	// }
	//
	// public void setKey(Key key) {
	// this.key = key;
	// }

	public Double getLatitude() {
		return latitude;
	}

	public void setLatitude(Double latitude) {
		this.latitude = latitude;
	}

	public Double getLongitude() {
		return longitude;
	}

	public void setLongitude(Double longitude) {
		this.longitude = longitude;
	}

	public String getComment() {
		return comment;
	}

	public void setComment(String comment) {
		this.comment = comment;
	}

	public String getCout() {
		return cout;
	}

	public void setCout(String cout) {
		this.cout = cout;
	}

	public String getAvecQui() {
		return avecQui;
	}

	public void setAvecQui(String avecQui) {
		this.avecQui = avecQui;
	}

	public Long getProjetId() {
		return projetId;
	}

	public void setProjetId(Long projetId) {
		this.projetId = projetId;
	}

	public String getOu() {
		return ou;
	}

	public void setOu(String ou) {
		this.ou = ou;
	}

	public String getCommentaire() {
		return commentaire;
	}

	public void setCommentaire(String commentaire) {
		this.commentaire = commentaire;
	}

	public Date getQuand() {
		return quand;
	}

	public void setQuand(Date quand) {
		this.quand = quand;
	}

	public String getCodePays() {
		return codePays;
	}

	public void setCodePays(String codePays) {
		this.codePays = codePays;
	}

	public Long getMarkerIdDestination() {
		return markerIdDestination;
	}

	public void setMarkerIdDestination(Long markerIdDestination) {
		this.markerIdDestination = markerIdDestination;
	}

	// public DataInfoPointEntity get() {
	// Objectify ofy = ObjectifyService.begin();
	// return ofy.get(DataInfoPointEntity.class, this.id);
	//
	// }
	//
	// public void delete() {
	// Objectify ofy = ObjectifyService.begin();
	// ofy.delete(this);
	//
	// }

}
